﻿$.extend({
    getUrlVars: function() {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for (var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    },
    getUrlVar: function(name) {
        return $.getUrlVars()[name];
    }
});

$.extend({ 
    URLEncode: function(c) {
        var o = ''; var x = 0; c = c.toString(); var r = /(^[a-zA-Z0-9_.]*)/;
        while (x < c.length) {
            var m = r.exec(c.substr(x));
            if (m != null && m.length > 1 && m[1] != '') {
                o += m[1]; x += m[1].length;
            } else {
                if (c[x] == ' ') o += '+'; else {
                    var d = c.charCodeAt(x); var h = d.toString(16);
                    o += '%' + (h.length < 2 ? '0' : '') + h.toUpperCase();
                } x++;
            }
        } return o;
    },
    URLDecode: function(s) {
        var o = s; var binVal, t; var r = /(%[^%]{2})/;
        while ((m = r.exec(o)) != null && m.length > 1 && m[1] != '') {
            b = parseInt(m[1].substr(1), 16);
            t = String.fromCharCode(b); o = o.replace(m[1], t);
        } return o;
    }
});

String.prototype.replaceAll = function(strTarget, strSubString) {
    var strText = this;
    var intIndexOfMatch = strText.indexOf(strTarget);

    // Keep looping while an instance of the target string
    // still exists in the string.
    while (intIndexOfMatch != -1) {
        // Relace out the current instance.
        strText = strText.replace(strTarget, strSubString)

        // Get the index of any next matching substring.
        intIndexOfMatch = strText.indexOf(strTarget);
    }

    // Return the updated string with ALL the target strings
    // replaced out with the new substring.
    return (strText);
}
/*===================================================================================================*/
function EmailCheck(str) {

    var at = "@"
    var dot = "."
    var lat = str.indexOf(at)
    var lstr = str.length
    var ldot = str.indexOf(dot)
    if (str.indexOf(at) == -1) {
        //alert("Invalid E-mail Address")
        return false
    }

    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
        //alert("Invalid E-mail Address")
        return false
    }

    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
        //alert("Invalid E-mail Address")
        return false
    }

    if (str.indexOf(at, (lat + 1)) != -1) {
        //alert("Invalid E-mail Address")
        return false
    }

    if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
        //alert("Invalid E-mail Address")
        return false
    }

    if (str.indexOf(dot, (lat + 2)) == -1) {
        //alert("Invalid E-mail Address")
        return false
    }

    if (str.indexOf(" ") != -1) {
        //alert("Invalid E-mail Address")
        return false
    }

    return true
}

function ValidateAndSubscribe(emailId) {
    var mail = $('#' + emailId).val();

    if (mail == "") {
        alert("Vui lòng nhập E-mail của bạn.")
        $('#' + emailId).focus();
        return false
    }

    if (EmailCheck(mail) == false) {
        mail = ""
        alert("E-mail của bạn không hợp lệ.");
        $('#' + emailId).focus();
        return false
    }

    var settings = {
        url: "Subscribe.aspx",
        cache: false,
        success: function(data) {
            var status = $(data).find("resultCode").text();
            switch (status) {
                case "SUCCESS":
                    alert("Vui lòng kiểm tra email của bạn để xác nhận việc đăng ký nhận tin.");
                    break;
                case "ERROR":
                    alert($(data).find("resultDesc").text());
                    break;
            }
        }
    };

    settings = $.extend(settings, {
        data: { sbemail: mail, subtype: "sub" }
    });

    $.ajax(settings);
    $('#' + emailId).val("");
    return true;
}